<?php
// +----------------------------------------------------------------------
// | 试用作品管理模型
// +----------------------------------------------------------------------

namespace Admins\Model;

use Common\Model\RelationModel;

class TryItemsModel extends RelationModel{

    //array(验证字段,验证规则,错误提示,[验证条件,附加规则,验证时间])
    protected $_validate = array(
        array('cateid', 'require', '栏目类别错误！', 1, 'regex', 3),
        array('title', 'require', '作品名称不能为空！', 1, 'regex', 3),
        array('image', 'require', '请上传主图！', 1, 'regex', 3)
    );
    //array(填充字段,填充内容,[填充条件,附加规则])
    protected $_auto	 =	 array(
        array('sort','0',self::MODEL_INSERT,'string'),
        array('requestnum','0',self::MODEL_INSERT,'string'),
        array('create_time','time',self::MODEL_INSERT,'function')
    );

    /**
     * 添加作品信息模型
     * @param $data 页面POST的数
     * @return boolean|error
     */
    public function addModel($data) {
        if (empty($data)) {
            $this->error = '添加数据不能为空！';
            return false;
        }
        //终极栏目设置
        if(empty($data['cateid'])){
            $this->error='栏目错误,请关闭本页再试';
            return false;
        }
        if(empty($data['title'])){
            $this->error='商品名称不能为空';
            return false;
        }
        if(empty($data['image'])){
            $this->error='请上传商品主图';
            return false;
        }
        $data['start_time']=strtotime($data['start_time']);
        $data['end_time']=strtotime($data['end_time']);
        $data['lastnum']=$data['trynum'];
        $result = $this->create($data, 1);
        if ($result) {
            //添加数据
            $workid = $this->add($result);
            if ($workid) {
                //更新附件状态
                if ($data['image']) {
                    //更新主图与附件关联表
                    service("Attachment")->api_update('', 'try-' . $workid, 1);
                }
                return $workid;
            } else {
                $this->error = '商品添加失败';
                return false;
            }
        } else {
            return false;
        }
    }


    /**
     * 更新作品模型
     * @param $post
     * @return bool
     */
    public function editModel($data){
        if(empty($data['tryid'])){
            $this->error='获取商品失败';
            return false;
        }

        if(empty($data['image'])){
            $this->error='请上传商品主图';
            return false;
        }
        $tryid=$data['tryid'];
        $data['start_time']=strtotime($data['start_time']);
        $data['end_time']=strtotime($data['end_time']);
        $result = $this->create($data, 2);
        if ($result) {
            //修改数据
            $where['tryid']=$tryid;
            $status=$this->data($result)->where($where)->save();
            //更新记录,记得如果是TRUE就为===,如果为FLASH则为!==,并不是!=
            if(false!==$status){
                //更新附件状态
                if ($data['image'] || $data['simage']) {
                    //更新主图与附件关联表
                    service("Attachment")->api_update('', 'try-' . $tryid, 1);
                }
                return true;
            } else {
                $this->error = '产品更新失败';
                return false;
            }
        } else {
            return false;
        }

    }

    /**
     * 删除产品
     * @param $data
     * @return bool
     */
    public function deleteModel($data){
        if(empty($data)){
            $this->error='产品删除失败';
            return false;
        }
        $where['tryid']=$data;
        $status=$this->where($where)->delete();
        if($status!==false){
            //删除产品主图
            service("Attachment")->api_delete('try-' . $data);
            return true;
        }else{
            return false;
        }
    }


}
